package com.szbber.commen.api

import com.szbber.commen.base.Constant
import com.szbber.commen.bean.*
import retrofit2.http.POST
import retrofit2.http.QueryMap

/**
 * 网络服务接口(协程)
 * @author ssq
 * @JvmSuppressWildcards 用来注解类和方法，使得被标记元素的泛型参数不会被编译成通配符?
 */
@JvmSuppressWildcards
interface ApiService {

    @POST(Constant.deptlist)
    suspend fun getBanners(@QueryMap map: Map<String, String>?): DeptBean?

    @POST(Constant.hospital)
    suspend fun getHospitalBean(@QueryMap map: Map<String, String>?): HospitalBean?

    @POST(Constant.deptlist)
    suspend fun getDeptBean(@QueryMap map: Map<String, String>?): DeptBean?

    @POST(Constant.district)
    suspend fun getDistrictBean(@QueryMap map: Map<String, String>?): DistrictBean?

    @POST(Constant.room)
    suspend fun getRoomBean(@QueryMap map: Map<String, String>?): RoomBean?

    @POST(Constant.bedtlist)
    suspend fun getBedBean(@QueryMap map: Map<String, String>?): BedBean?

    @POST(Constant.getNurseLevel)
    suspend fun getNurseLevel(@QueryMap map: Map<String, String>?): NurseLevelListBean?

    @POST(Constant.getEditNurseLevel)
    suspend fun getEditNurseLevel(@QueryMap map: Map<String, String>?): IntDataBean?

    @POST(Constant.getCareLevelList)
    suspend fun getCareLevelList(@QueryMap map: Map<String, String>?): CareLevelListBean?

    @POST(Constant.getEditCareLevel)
    suspend fun getEditCareLevel(@QueryMap map: Map<String, String>?): IntDataBean?

   @POST(Constant.getBedCardInfo)
    suspend fun getBedCardInfo(@QueryMap map: Map<String, String>?): BedCardInfoBean?

   @POST(Constant.getPatientList)
    suspend fun getPatientList(@QueryMap map: Map<String, String>?): PatientListBean?

   @POST(Constant.getPatientInfo)
    suspend fun getPatientInfo(@QueryMap map: Map<String, String>?): PatientDetailsBean?

   @POST(Constant.editPatientInfo)
    suspend fun editPatientInfo(@QueryMap map: Map<String, String>?): IntDataBean?

   @POST(Constant.getDoctorList)
    suspend fun getDoctorList(@QueryMap map: Map<String, String>?): DoctorListBean?

   @POST(Constant.getNurseList)
    suspend fun getNurseList(@QueryMap map: Map<String, String>?): NurseListBean?

   @POST(Constant.addCareLevel)
    suspend fun addCareLevel(@QueryMap map: Map<String, String>?): IntDataBean?

   @POST(Constant.doctororderlist)
    suspend fun doctorOrderList(@QueryMap map: Map<String, String>?): DoctorOrderBean?

   @POST(Constant.addMessage)
    suspend fun addMessage(@QueryMap map: Map<String, String>?): IntDataBean?

   @POST(Constant.getMessageList)
    suspend fun getMessageList(@QueryMap map: Map<String, String>?): MessageListBean?

   @POST(Constant.getSchedule)
    suspend fun getSchedule(@QueryMap map: Map<String, String>?): ScheduleBean?

   @POST(Constant.addNurseLevel)
    suspend fun addNurseLevel(@QueryMap map: Map<String, String>?): IntDataBean?

   @POST(Constant.deteleNurseLevel)
    suspend fun deteleNurseLevel(@QueryMap map: Map<String, String>?): IntDataBean?

   @POST(Constant.addNurseLevelLabel)
    suspend fun addNurseLevelLabel(@QueryMap map: Map<String, String>?): IntDataBean?

   @POST(Constant.deleteNurseLevelLabel)
    suspend fun deleteNurseLevelLabel(@QueryMap map: Map<String, String>?): IntDataBean?

   @POST(Constant.deleteCareLevel)
    suspend fun deleteCareLevel(@QueryMap map: Map<String, String>?): IntDataBean?

   @POST(Constant.getDoorPatient)
    suspend fun getDoorPatient(@QueryMap map: Map<String, String>?): DoorPatientBean?


}